Code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software. Code reuse has been in use from the earliest days of programming with programmers reusing sections of code, templates, functions, and procedures. The goal of code reuse is to save time and resources and reduce redundancy by taking advantage of code that has already been created. Code reuse implies the creation of a separately maintained version of the reusable code.
Some domains are heavily regulated for software programmers and complying with these regulations is difficult. Furthermore, mistakes made that lead to non-compliance have serious financial or legal consequences. For instance, in the medical domain the Food and Drug Administration (FDA) requires strict documentation of all medical algorithms used including a full “breadcrumb”/audit trail that describes exactly what evidence source was used to create the software algorithm/calculation. Thus, building a compliant solution in a regulated industry has two problems: #1 being able to find all instances of algorithms that need to be documented and #2 verifying that proof of documentation is present for each algorithm.